from PIL import Image


def generate_logo(background_size, background_color, logo_path, output_path):
    """
    生成带有透明Logo的游戏开屏图片。

    :param background_size: 背景图片的尺寸 (width, height)
    :param background_color: 背景颜色 (R, G, B, A)，A 是透明度（0=全透明，255=不透明）
    :param logo_path: Logo图片的路径（应为支持透明的PNG格式）
    :param output_path: 输出图片的保存路径（建议使用.png扩展名）
    """
    # 创建带有透明通道的背景图片（RGBA模式）
    background = Image.new('RGBA', background_size, background_color)

    # 打开带有透明通道的Logo图片
    logo = Image.open(logo_path).convert('RGBA')

    # 计算Logo放置的位置，使其居中
    position = (
        (background_size[0] - logo.width) // 2,
        (background_size[1] - logo.height) // 2
    )

    # 将Logo粘贴到背景图片上，保留透明通道
    background.paste(logo, position, mask=logo)

    # 保存生成的图片为PNG格式以保留透明通道
    background.save(output_path, format='PNG')


if __name__ == '__main__':
    # 示例参数
    background_size_ = (1920, 1080)  # 分辨率
    background_color_ = (75, 75, 75, 255)  # 白色背景（完全不透明）
    logo_path_ = '../Resources/UI/logo.png'  # 确保该图片是带有透明通道的PNG格式
    output_path_ = 'generated_logo_with_transparency.png'  # 使用.png扩展名

    # 调用函数生成Logo
    generate_logo(background_size_, background_color_, logo_path_, output_path_)
